jMass.Expression = jMass.define({
    //identify this object as Expression
    isExpression: true,
    //constructor
    constructor: function(expr) {
        this.guid = ++jMass.guid;
        this.setCode(expr);
    },
    //expression uid
    guid: 0,

    //gets the expression source code
    getCode: function() { return this.$code; },

    //set source code
    setCode: function(code) {
        this.$code = code;
        this.compile();
    },

    //the compiled expression
    run: function() { return null; },

    //compile this expression
    compile: function() {
        this.run = jMass.expr(this.$code);
    }
});